$\mathcal{H}(3,3,1,1)$ No Extra Branching

The branching is unique in this case because each $2$-torsion point must have an odd order zero above it. However, we choose to arrange it so that one of the triple zeros lies over exactly one of the points in $\{(0,0), (1,0)\}$ and the other over one of the points in $\{(0,1), (1,1)\}$.

We recall that in $\mathcal{H}(3,3,1,1)$, $d_{opt} = 8$ and by the arrangement above, there is a $2$-torsion point in the boundary of each horizontal cylinder that has exactly one simple zero above it.

In [1]:
import re

Step 1

In [1]:
#This loads all of the 1-cylinder diagrams in H(2,1,1) formatted as python lists

H3_1_cyl_diags = [[[[0, 2, 5, 3, 1, 4], [0, 2, 3, 1, 5, 4]]], 
                  [[[0, 5, 2, 3, 4, 1], [0, 2, 4, 5, 3, 1]]]]

#This loads all of the functions for processing cylinder diagrams

%run ./ST5_fcns/cyl_diag_fcns.ipynb

H3_1_vertex_data = strat_odd_sc(H3_1_cyl_diags)

Among partitions of $16$ into six numbers the minimum of the maximum numbers among all partitions is $\lceil 2d_{opt}/6\rceil = 3$, which is 3 in this case.

Solving $16 - 2(3) - 2t_0 \geq 0$ implies that the largest value of $t_0$ is $5$.

Since the situation for $s_0$ is symmetric the same bounds apply.

In summary:

$$3 \leq s_0, t_0 \leq 5$$

Step 2

In [3]:
#This loads all of the standard partition functions needed for nearly every case
#It also loads the partition evaluate function

%run ./ST5_fcns/partition_functions.ipynb

if True:
    create_sc_partition_file((), part_length = 6, t0_range = range(3,6), d_opt = 8,
                             filename_root = 'ST5_data//H_3_3_1_1//2_branch_point//partitions//H3_1_part')

#Load the partitions

if True:
    with open('ST5_data//H_3_3_1_1//2_branch_point//partitions//H3_1_part', 'r') as file:
        H3_1_part = eval_part(file.read())
ST5_data//H_3_3_1_1//2_branch_point//partitions//H3_1_part written

Step 3

In [4]:
#This loads all of the align_list functions needed for nearly every case
#This includes the align_list evaluate function

%run ./ST5_fcns/align_list_fcns.ipynb

if True:
    for t in range(3,6):
        align_list_write_file(H3_1_part, H3_1_vertex_data, 
                              'ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list', 
                              t0 = t)
6 partitions to search
30 partitions to search
78 partitions to search

Step 4

In [5]:
#This loads all of the visible_align_list functions needed for nearly every case

%run ./ST5_fcns/align_list_visible_fcns.ipynb

if True:
    generate_all_align_list_visible_files(range(3,6), range(3,6), 8, 
                                          'ST5_data//H_3_3_1_1//2_branch_point//', 
                                          'align_list//H3_1_align_list_', 
                                          'align_list_visible//H3_1_align_list_')
total_list generated
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_3 read
6 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_3 written
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_3 read
6 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_4 written
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_3 read
6 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_5 written
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_4 read
30 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_3 written
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_4 read
30 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_4 written
ST5_data//H_3_3_1_1//2_branch_point//align_list//H3_1_align_list_5 read
78 configurations to search
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_5_visible_3 written

Step 5

In [6]:
#At this point, none of the files above need to be loaded for this to run.
#Once the files above are generated, the file sizes are small enough that these can be loaded on the fly.

#This loads all of the visible_align_list functions needed for nearly every case

%run ./ST5_fcns/combine_align_list_visible_fcns.ipynb

if True:
    combine_align_list_visible_write_file(s_range = range(3,6), 
                                          s_filename_root = 'align_list_visible//H3_1_align_list_', 
                                          t_range = range(3,6), 
                                          t_filename_root = 'align_list_visible//H3_1_align_list_',
                                          d_opt = 8, 
                                          root_dir = 'ST5_data//H_3_3_1_1//2_branch_point//')
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_3 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_3 read
empty list
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_3 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_4 read
empty list
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_5_visible_3 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_5 read
empty list
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_4 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_3 read
empty list
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_4 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_4_visible_4 read
empty list
empty list
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_3_visible_5 read
ST5_data//H_3_3_1_1//2_branch_point//align_list_visible//H3_1_align_list_5_visible_3 read
empty list
empty list
empty list
admissible_list written with 0 elements